package ai.people.netmon.youtube.probe.service;

import ai.people.netmon.framework.domain.youtube.probe.entity.YoutubeAccount;
import ai.people.netmon.framework.domain.youtube.probe.request.YoutubeAccountRequest;
import ai.people.netmon.framework.model.response.PageResponse;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * youtube用户服务
 *
 * @author yuanqinglong
 * @date 2022/2/25 16:37
 */
public interface YoutubeAccountService extends IService<YoutubeAccount> {


    /**
     * 获得账户
     *
     * @param id id
     * @return {@link YoutubeAccount}
     */
    YoutubeAccount getAccount(Long id);

    /**
     * 保存youtube帐户
     *
     * @param youtubeAccount youtube帐户
     */
    void saveYoutubeAccount(YoutubeAccount youtubeAccount);


    /**
     * 批量保存youtube帐户
     *
     * @param youtubeAccount youtube帐户
     */
    void batchSaveYoutubeAccount(List<YoutubeAccount> youtubeAccount);


    /**
     * 更新youtube帐户
     *
     * @param youtubeAccount youtube帐户
     */
    void updateYoutubeAccount(YoutubeAccount youtubeAccount);


    /**
     * youtube帐户列表视图
     *
     * @param userRequest 用户请求
     * @return {@link PageResponse}<{@link YoutubeAccount}>
     */
    PageResponse<YoutubeAccount> listYoutubeAccount(YoutubeAccountRequest userRequest);


}
